package base.template;

class HasF {
	public void f() {
		System.out.println("HasF.f()");
	}
}

class Manipulator<T extends HasF> {
	private T obj;

	public Manipulator(T obj) {
		this.obj = obj;
	}

	public void manipulation() {
		obj.f();
	}
}

public class Manipulation {
	public static void main(String[] args) {
		HasF hasF = new HasF();
		Manipulator<HasF> manipulator = new Manipulator<HasF>(hasF);
		manipulator.manipulation();
	}
}
